/*
 * Copyright (c) 2009 Robert Esser
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package net.e2ser.petri;

/**
 *
 * <p>Title: Petri Net Editor/Simulator</p>
 * <p>Description: </p>
 * <p>Copyright: Copyright (c) 2009</p>
 * <p>Company: </p>
 * @author Rob Esser
 * @version 1.0
 */
public class EditorMode extends Mode {

  //private enum mode { SELECT, INSERT, DELETE, CONNECT };

	
  EditorMode(int val) {
    // create an instance
    this.value = val;
  }

  public static EditorMode selectMode() {
    // create a mode instance
    return new EditorMode(0);
  }

  public static EditorMode insertMode() {
    // create a mode instance
    return new EditorMode(1);
  }

  public static EditorMode deleteMode() {
    // create a mode instance
    return new EditorMode(2);
  }

  public static EditorMode connectMode() {
    // create a mode instance
    return new EditorMode(3);
  }

  public boolean isSelectMode() {
    return this.value == EditorMode.selectMode().value;
  }

  public boolean isInsertMode() {
    return this.value == EditorMode.insertMode().value;
  }

  public boolean isDeleteMode() {
    return this.value == EditorMode.deleteMode().value;
  }

  public boolean isConnectMode() {
    return this.value == EditorMode.connectMode().value;
  }

}
